/*                      G E D _ C M D S . H
 * BRL-CAD
 *
 * Copyright (c) 2024-2025 United States Government as represented by
 * the U.S. Army Research Laboratory.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * version 2.1 as published by the Free Software Foundation.
 *
 * This library is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this file; see the file named COPYING for more
 * information.
 */
/** @file ged_cmds.h
 *
 * Autogenerated header defining C function calls for LIBGED commands.  Under
 * the hood the commands are run with ged_exec, and calling ged_exec directly
 * will produce the same results calling these functions will.  However, raw
 * ged_exec calls provide no compile time checking as to whether a particular
 * LIBGED command is actually *available* as a LIBGED plugin.  Programs like
 * gsh need ged_exec because user inputs will be defining commands, but when
 * hard-coding LIBGED command executions into other functions or language
 * bindings that abstraction means disconnects can be detected ONLY with
 * run-time tests - the C/C++ compiler is helpless.
 *
 * Using the following functions in your code will allow you to know
 * immediately upon compilation when a change in BRL-CAD has removed or renamed
 * a command you are using.
 *
 * There is one additional difference between calling these wrappers and using
 * a raw ged_exec call.  The wrapper functions will set the argv[0] command
 * name for you if you have set it to NULL in your code.  The advantage of this
 * is to simplify code updating if a command is renamed - you will have only
 * one thing to update - the wrapper name - rather than needing to update both
 * the function name and the cmd string.  There is no harm in setting the string,
 * and the wrapper functions will not override or check a non-NULL argv[0] if one
 * is passed in.
 */

#include "common.h"
#include "ged/defines.h"
#include "ged/commands.h"
__BEGIN_DECLS
